def sum(a,b,c,d):
    total=a+b+c+d
    print(total)
def listSum(list):
    total=0
    for i in list:
        total+=i
    print(total)
def print9x9():
    for i in range(1,10):
        for j in range(1,i+1):
            print("%s * %s = %s"%(i,j,i*j),end="\t")
        print("\n")
def  printMulByN(N):
    for i in range(1, N+1):
        for j in range(i, N+1):
            print("%s * %s = %s" % (i, j, i * j), end="\t")
        print("\n")
def findArrayByIndex(list,index):
    if index>=len(list) or index<0:
        print("-1")
        return
    print(list[index])
    return
def getSumByRecursion(n,m):
    if n==301:
        print(m)
        return 0
    m += n
    getSumByRecursion(n+1,m)
def reverseNxN(n):
    for i in range(n, 0,-1):
        for j in range(1,i+1):
            print("%s * %s = %s" % (j, i, i * j), end="\t")
        print("\n")
def getPersonNum(测试部,研发部,市场部):
    totalPerson = set()
    for i in 测试部:
        totalPerson.add(i)
    for i in 研发部:
        totalPerson.add(i)
    for i in 市场部:
        totalPerson.add(i)
    print("部门员工总共%s人:" % len(totalPerson))
def getPersonByOneDepartment(测试部集合,研发部集合,市场部集合):
    print("只在一个部门存在的人的数量为%s和对应的名字有%s" % (len(测试部集合 - 研发部集合 - 市场部集合), 测试部集合 - 研发部集合 - 市场部集合))
def getPersonByTwoAndMoneDepartment(测试部集合,研发部集合,市场部集合):
    print("在两个部门以及以上的人员有哪些:%s" % ((测试部集合 | 研发部集合 | 市场部集合) - (测试部集合 - 研发部集合 - 市场部集合)))
def function1():
    a=eval(input("请输入一个数字"))
    b=eval(input("请输入一个数字"))
    c=eval(input("请输入一个数字"))
    d=eval(input("请输入一个数字"))
    sum(a,b,c,d)
def function2():
    list=[1,2,3,4,5]
    listSum(list)
    print9x9()
def function3():
    printMulByN(10)
def function4():
    list=[10,45,82,32]
    index=6
    findArrayByIndex(list,index)
def function5():
    getSumByRecursion(0,0)
def function6():
    测试部 = ['小明', '小张', '小黄', '小杨']
    研发部 = ['小黄', '小李', '小王', '小杨', '小周']
    市场部 = ['小杨', '小张', '小吴', '小冯', '小周']
    测试部集合 = set(测试部)
    研发部集合 = set(研发部)
    市场部集合 = set(市场部)
    getPersonNum(测试部,研发部,市场部)
    getPersonByOneDepartment(测试部集合,研发部集合,市场部集合)
    getPersonByTwoAndMoneDepartment(测试部集合,研发部集合,市场部集合)

def function7():
    reverseNxN(9)
if __name__ == '__main__':
    function1()
    function2()
    function3()
    function4()
    function5()
    function6()
    function7()